-include("geometry.hrl").

-record(tile_layer, {
    layer_id,
    feature_ids = []
}).
-type tile_layer() :: #tile_layer{}.

-record(image, {
    version,
    data :: binary()
}).
-type image() :: #image{}.

-record(cell, {
        bbox :: bbox(),
        layers :: [tile_layer()],
        raster :: [image()]
}).

-type node_type() :: any().
-type nodes_type() :: [node_type()].
-type level_type() :: 1..8.
-type depth_type() :: 0..8.

-record(quardtree, {
    depth :: depth_type(),
    nodes=[]
}).

-type quardtree() :: #quardtree{}.

